package com.arron.java基础;

public class 内存分配1 {
    public static void main(String[] args) {
        A aa = new A();//(A*)malloc(sizeof(A))
        //aa是局部变量，栈区分配存放的
        //new A();在堆中动态分配一块区域，被当做了A对象
        //aa本身的内存是在栈中分配的
        //堆中内存的地址赋给了aa
        //aa指向堆中的内存，aa代表了堆中的内存
        //aa.i 代表：aa这个静态指针变量所指向的动态内存中的A对象的i这个成员
        //aa.j 代表：aa这个静态指针变量所指向的动态内存中的A对象的j这个成员
        aa.j = 99;
        int i = aa.i;//相当于c语言(*aa).i java简化了写法
        int j = aa.j;//相当于c语言(*aa).j
        A aa2=aa;
        System.out.println(aa2.j);
    }
}

class A
{
    int i =10;
    int j=20;
}
